package com.dfbz.设计模式.singleton;


public class Singleton {

    // 一上来不new对象,因为很可能别人根本就没有用到
    private static Singleton singleton;

    // 私有化构造方法(其他人不能使用构造方法来创建对象)
    private Singleton() {
    }

    // 线程安全隐患
    public static synchronized Singleton getSingleton() {

        if (singleton == null) {

            System.out.println("执行了");
            singleton = new Singleton();

        }
        return singleton;
    }

}


/*
饿汉式
 */
/*
public class Singleton {

    private static Singleton singleton=new Singleton();

    // 私有化构造方法(其他人不能使用构造方法来创建对象)
    private Singleton(){};

    public static Singleton getSingleton(){
        return singleton;
    }

}
*/

/*
class Singleton{           //饿汉式第二种方式
    public final static Singleton singleton=new Singleton();
    private Singleton(){};
}
*/
